The process of copying data from a memory, such as disk or RAM for example, and re-arranging it in a temporary memory for input to a data processor is used in many applications. After the data has been processed, and possibly at various intermediate times during the processing, the memories are synchronized by writing the re-arranged data back to the original memory, regardless of whether or not the data has been modified. This is inefficient, since unmodified data is written back unnecessarily.